<?php

namespace app\common\job;

use think\queue\Job;


/**
 * 多个任务
 * Class MultiJob
 * @package app\common\job
 * @author ^2_3^王尔贝
 */
class MultiJob
{
    /**
     * 任务task1
     * @param Job $job
     * @param $data
     * @author ^2_3^王尔贝
     */
    public function task1(Job $job, $data)
    {
        //...这里执行具体的任务......
        lo("[MultiJob_task1]_".json_encode( $data ));

        if ($job->attempts() > 0) {
            // 通过这个方法可以检查这个任务已经重试了几次了
            lo("[MultiJob_task1]_attempts_".$job->attempts());
        }

        // 如果任务执行成功后记得删除任务，不然这个任务会重复执行，直到达到最大重试次数后失败后，执行failed方法
        $job->delete();
    }

    public function task2(Job $job, $data)
    {

    }

    public function failed($data) {
        lo("ThinkPHP think-php MultiJob failed ".json_encode( $data ));
    }

}